package com.cx.base.day12_framework.set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

/**
 * @Author: robert.song
 * @Date: Created in 2021/8/20
 */
public class SetMethod {
    //    1 以set接口的实现类HashSet来讲解Set接口的方法
//    2 set接口的实现类对象，不可存放重复元素，可以添加且只能添加一个null元素
//    3 set接口对象存放数据无序,是由hash来决定索引
//    4 set对象获取元素是有序的，无论多少次遍历，获取元素次序都不变
    public static void main(String[] args) {
        Set set = new HashSet();
        set.add("john");
        set.add("lucy");
        set.add("john");
        set.add("jack");
        set.add(null);
        set.add(null);
        System.out.println("array: " + set.toArray());
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            Object object = iterator.next();
            System.out.println(object);
        }
        for (Object obj : set) {
            System.out.println("obj=" + obj);
        }

        LinkedHashSet<String> linkedHashSet = new LinkedHashSet();
        linkedHashSet.add("test");
        linkedHashSet.add("test2");
        linkedHashSet.add("test3");
        linkedHashSet.forEach(System.out::println);
//        for (String s:linkedHashSet){
//            System.out::println;
//        }
    }
}


